#define _CRT_SECURE_NO_WARNINGS 1


//#include<iostream>
//
//using namespace std;
//
//bool Func(int n)
//{
//	for (int i = 2; i < sqrt(n); i++)
//	{
//		if (n % i == 0)
//		{
//			return false;
//		}
//	}
//	return true;
//}
//
//int main()
//{
//	int n = 0;
//	cin >> n;
//	for (int i = n / 2; i >= 2; i--)
//	{
//		if (Func(i) && n % i == 0)
//		{
//			cout << i << endl;
//			break;
//		}
//	}
//
//	return 0;
//}


//#include<stdio.h>
//#include<stdlib.h>
//#include<string.h>
//
//char* Func(int n)
//{
//	char str[27] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
//	while (n--)
//	{
//		char temp = str[0];
//		for (int i = 0; i < 25; i++)
//		{
//			str[i] = str[i + 1];
//		}
//		str[25] = temp;
//	}
//	char* RetStr = (char*)malloc(sizeof(char) * 27);
//	if (RetStr == NULL)
//	{
//		exit(1);
//	}
//	strcpy(RetStr, str);
//	return RetStr;
//}
//
//int main()
//{
//	char* arr[26] = { 0 };
//	for (int i = 0; i < 26; i++)
//	{
//		arr[i] = Func(i);
//	}
//	char str1[101] = { 0 }, str2[1001] = { 0 };
//	scanf("%s %s", str1, str2);
//	for (int i = 0; i < strlen(str2); i++)
//	{
//		int x = 0, y = 0;
//		int len = strlen(str1);
//		for (int j = 0; j < len; j++)
//		{
//			if (j == len)
//			{
//				j = 0;
//			}
//			if (str2[i] >= 'a' && str2[i] <= 'z')
//			{
//				x = str2[i] - 'a';
//			}
//			else
//			{
//				x = str2[i] - 'A';
//			}
//			if (str1[j] >= 'a' && str1[j] <= 'z')
//			{
//				y = str1[j] - 'a';
//			}
//			else
//			{
//				y = str1[j] - 'A';
//			}
//			printf("%c", arr[x][y]);
//		}
//	}
//	
//	return 0;
//}


//#include<iostream>
//
//using namespace std;
//
//int main()
//{
//	int arr[10] = { 0 };
//	int a = 0, b = 0;
//	int max = 0;
//	for (int i = 1; i <= 7; i++)
//	{
//		cin >> a >> b;
//		arr[i] = a + b;
//		if (arr[i] > max)
//		{
//			max = arr[i];
//		}
//	}
//	for (int i = 1; i <= 7; i++)
//	{
//		if (arr[i] == max)
//		{
//			cout << i << endl;
//			return 0;
//		}
//	}
//	cout << 0 << endl;
//
//	return 0;
//}


//#include<stdio.h>
//#include<stdlib.h>
//#include<utility>
//
//struct A
//{
//	int yuwen;
//	int math;
//	int english;
//	int sum;
//	int rank;
//};
//
//int cmp(const void* e1, const void* e2)
//{
//	return (((A*)e2)->sum) - (((A*)e1)->sum);
//}
//
//int main()
//{
//	A s[300] = { 0 };
//	int n = 0;
//	scanf("%d", &n);
//	for (int i = 0; i < n; i++)
//	{
//		scanf("%d %d %d", &s[i].yuwen, &s[i].math, &s[i].english);
//		s[i].rank = i + 1;
//		s[i].sum = s[i].yuwen + s[i].math + s[i].english;
//	}
//	qsort(s, n, sizeof(s[0]), cmp);
//	for (int i = 0; i < n; i++)
//	{
//		if (s[i].sum == s[i + 1].sum)
//		{
//			if (s[i].yuwen < s[i + 1].yuwen)
//			{
//				std::swap(s[i], s[i + 1]);
//			}
//		}
//	}
//	for (int i = 0; i < 5; i++)
//	{
//		printf("%d %d\n", s[i].rank, s[i].sum);
//	}
//
//	return 0;
//}